package com.soul.doc.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.soul.doc.bean.dto.CollectionDto;
import com.soul.doc.bean.dto.MusicAddDto;
import com.soul.doc.bean.dto.MusicSearchDto;
import com.soul.doc.bean.dto.MusicUpdateDto;
import com.soul.doc.bean.po.MusicPo;
import com.soul.common.service.CommService;
import com.soul.doc.bean.vo.MusicVo;

import java.util.Collection;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author sws
 * @since 2023-11-19 11:08:12
 */
public interface MusicService extends CommService<MusicPo> {

    IPage<MusicVo> queryMusicList(Integer page, Integer size, MusicSearchDto searchDto);

    void addMusic(MusicAddDto addDto);

    boolean addLove(CollectionDto collectionDto);

    void addHistory(CollectionDto collectionDto);

    void addPlayNum(Long musicId);

    void addCollectNum(Long musicId,String type);

    List<MusicVo> queryMusicByIds(Collection<Long> musicIds);

    List<MusicVo> queryLoveMusic();

    MusicVo getMusicInfoById(Long id);

    List<MusicVo> getMusicHistory(Integer type);

    void updateMusic(MusicUpdateDto updateDto);
}
